جزوه · فصل هشتم · جلسه ۷۶ · ابزارهای عیب‌یابی شبکه ← بازگشت به فهرست
📘 فصل هشتم · جلسه ۷۶ ابزارهای عیب‌یابی شبکه
📅 تاریخ: دوشنبه، ۲ شهریور ۱۴۰۵ 👤 مدرس: محمد عابدینی 🐚 Zsh · 🐧 Debian (کالی) · 📦 Red Hat
این جلسه یکی از مهم‌ترین مباحث عملی در LPIC و RHCSA است. ابزارهای ping، tracepath، mtr، netstat، ss، nc و iftop حتماً در آزمون می‌آیند.
🛠️ قبل از شروع، یه مثال ساده:

فرض کن یه ماشین داری و می‌خوای ببینم جاده بازه یا نه. اول یه پینگ (ping) می‌زنی تا ببینم ماشین روشنه، بعد مسیر (tracepath) رو چک می‌کنی تا ببینم کجاها ترافیک هست، در نهایت با نت‌استت (netstat) می‌بینی چه درهایی (پورت‌ها) باز هستن. این جلسه بهت یاد میده چطور با این ابزارها مشکلات شبکه رو پیدا کنی.

▍ ابزارهای مقدماتی عیب‌یابی

ping (بررسی اتصال)

ping ساده‌ترین و پرکاربردترین ابزار برای بررسی اتصال به یک میزبان است. این دستور بسته‌های ICMP (Echo Request) را به مقصد ارسال می‌کند و پاسخ (Echo Reply) را دریافت می‌کند.

┌──(ya3in㉿kali)-[~] └─$ ping -c 4 google.com PING google.com (172.217.16.46) 56(84) bytes of data. 64 bytes from 172.217.16.46: icmp_seq=1 ttl=64 time=2.34 ms 64 bytes from 172.217.16.46: icmp_seq=2 ttl=64 time=2.12 ms 64 bytes from 172.217.16.46: icmp_seq=3 ttl=64 time=2.45 ms 64 bytes from 172.217.16.46: icmp_seq=4 ttl=64 time=2.18 ms --- google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms

توضیح: -c 4 یعنی فقط ۴ بسته ارسال کن. ping بدون -c تا زمانی که شما آن را متوقف نکنید (Ctrl+C) ادامه می‌یابد.

با ping -c N می‌توانید تعداد بسته‌های ارسالی را محدود کنید.

tracepath (ردیابی مسیر)

tracepath مسیری که بسته‌ها برای رسیدن به مقصد طی می‌کنند را نمایش می‌دهد. این ابزار ساده‌تر از traceroute است و نیازی به دسترسی root ندارد.

┌──(ya3in㉿kali)-[~] └─$ tracepath ya3in.ir 1?: [LOCALHOST] pmtu 1500 1: 192.168.1.1 0.234ms 1: 192.168.1.1 0.218ms 2: 172.16.1.1 1.234ms 3: 10.10.10.1 2.456ms 4: 172.217.16.46 12.345ms

توضیح: این خروجی نشان می‌دهد که بسته‌ها از گیت‌وی محلی (192.168.1.1) عبور کرده و در نهایت به مقصد (ya3in.ir) رسیده‌اند.

tracepath نیازی به دسترسی root ندارد و ساده‌تر از traceroute است.

mtr (My TraceRoute) — دقیق‌تر و بهتر

mtr ترکیبی از ping و traceroute است. این ابزار به‌صورت لحظه‌ای و با آمار دقیق (درصد از دست رفتن بسته‌ها، زمان پاسخ و ...) مسیر را نمایش می‌دهد.

┌──(ya3in㉿kali)-[~] └─$ mtr ya3in.ir Start: 2025-08-26T14:30:00+0330 HOST: kali Loss% Snt Last Avg Best Wrst StDev 1. 192.168.1.1 0.0% 10 0.3 0.4 0.2 0.8 0.2 2. 172.16.1.1 0.0% 10 1.2 1.4 1.0 2.1 0.3 3. 10.10.10.1 0.0% 10 2.3 2.5 2.1 3.4 0.4 4. 172.217.16.46 0.0% 10 12.3 12.5 12.1 13.4 0.4

توضیح: mtr به‌صورت مداوم مسیر را مانیتور می‌کند و آمار دقیقی از هر هاپ (hop) ارائه می‌دهد. برای خروج، کلید q را بزنید.

mtr دقیق‌تر از tracepath است و آمار لحظه‌ای ارائه می‌دهد. برای نصب: sudo apt install mtr-tiny (دبیان) یا sudo dnf install mtr (رد هت).

• ابزارهای DNS: nslookup، host، dig

این ابزارها برای پرس‌وجوی DNS و مشاهده اطلاعات مربوط به نام دامنه استفاده می‌شوند.

┌──(ya3in㉿kali)-[~] └─$ nslookup google.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 172.217.16.46

توضیح: nslookup آدرس IP مربوط به یک نام دامنه را نمایش می‌دهد.

┌──(ya3in㉿kali)-[~] └─$ host google.com google.com has address 172.217.16.46

توضیح: host یک ابزار ساده‌تر برای نمایش آدرس IP یک دامنه است.

┌──(ya3in㉿kali)-[~] └─$ dig google.com ; <<>> DiG 9.18.24-1-Debian <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 299 IN A 172.217.16.46

توضیح: dig پیشرفته‌ترین ابزار DNS است و اطلاعات دقیق‌تری ارائه می‌دهد.

dig کامل‌ترین ابزار برای پرس‌وجوی DNS است. nslookup و host ساده‌تر هستند.

▍ ابزارهای حرفه‌ای عیب‌یابی

netstat (نمایش اتصالات شبکه)

netstat ابزار قدیمی برای نمایش اتصالات شبکه، جداول مسیریابی و آمار است.

┌──(ya3in㉿kali)-[~] └─$ netstat -t Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 kali:58630 productsearch.ub:https CLOSE_WAIT tcp6 1 0 ip6-localhost:57782 ip6-localhost:ipp CLOSE_WAIT

توضیح: -t فقط اتصالات TCP را نمایش می‌دهد.

┌──(ya3in㉿kali)-[~] └─$ netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 ubuntu02:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN udp 0 0 *:ipp *:*

توضیح: -l فقط پورت‌های در حال گوش دادن (Listening) را نمایش می‌دهد.

┌──(ya3in㉿kali)-[~] └─$ netstat -s Ip: 240762 total packets received 0 forwarded 0 incoming packets discarded 240747 incoming packets delivered 206940 requests sent out 32 dropped because of missing route

توضیح: -s آمار کلی پروتکل‌های شبکه را نمایش می‌دهد.

⚠️ توجه: netstat در بسیاری از توزیع‌های جدید منسوخ شده است و به‌جای آن از ss استفاده می‌شود.

ss (جایگزین مدرن netstat)

ss (Socket Statistics) ابزار جدید و سریع‌تری برای نمایش اطلاعات سوکت‌ها است.

┌──(ya3in㉿kali)-[~] └─$ ss -anpt State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 100 127.0.0.1:25 0.0.0.0:* users:(("master",pid=1234,fd=13)) LISTEN 0 128 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=5678,fd=4)) ESTAB 0 0 192.168.1.100:22 192.168.1.10:45678 users:(("sshd",pid=9012,fd=3))

توضیح:

┌──(ya3in㉿kali)-[~] └─$ ss -s Total: 1234 TCP: 45 (estab 12, closed 20, orphaned 0, timewait 0) Transport Total IP IPv6 RAW 0 0 0 UDP 10 8 2 TCP 45 30 15 INET 55 38 17 FRAG 0 0 0

توضیح: -s خلاصه آماری از سوکت‌ها را نمایش می‌دهد.

ss جایگزین مدرن netstat است. گزینه‌های مهم: -t (TCP)، -u (UDP)، -l (گوش‌دهنده)، -p (PID)، -n (عددی).

nc (Netcat) — ابزار همه‌کاره شبکه

nc (Netcat) یک ابزار قدرتمند برای ایجاد اتصالات TCP/UDP، تست پورت‌ها و انتقال داده است.

┌──(ya3in㉿kali)-[~] └─$ nc -l 2000

توضیح: باز کردن یک پورت ۲۰۰۰ برای گوش دادن (سرور).

┌──(ya3in㉿kali)-[~] └─$ nc 192.168.1.77 2000

توضیح: اتصال به سرور در آدرس ۱۹۲.۱۶۸.۱.۷۷ و پورت ۲۰۰۰.

┌──(ya3in㉿kali)-[~] └─$ nc -zv google.com 80 Connection to google.com port 80 [tcp/http] succeeded!

توضیح: تست اتصال به پورت ۸۰ (HTTP) گوگل. -z برای اسکن و -v برای نمایش جزئیات.

nc (Netcat) برای تست پورت‌ها و ایجاد اتصالات شبکه بسیار مفید است.

iftop (مانیتورینگ پهنای باند)

iftop پهنای باند مصرفی شبکه را به‌صورت لحظه‌ای نمایش می‌دهد و نشان می‌دهد کدام اتصالات بیشترین ترافیک را دارند.

┌──(ya3in㉿kali)-[~] └─$ sudo iftop

توضیح: sudo iftop نیاز به دسترسی root دارد. پس از اجرا، یک صفحه تعاملی باز می‌شود که ترافیک ورودی و خروجی را نمایش می‌دهد.

💡 نکته: در iftop، با کلید h می‌توانید راهنما را ببینید و با q خارج شوید.
برای نصب iftop: sudo apt install iftop (دبیان) یا sudo dnf install iftop (رد هت).

▍ جمع‌بندی ابزارهای عیب‌یابی

ابزار کاربرد دستور نمونه
ping بررسی اتصال اولیه به میزبان ping -c 4 google.com
tracepath ردیابی مسیر بسته‌ها tracepath ya3in.ir
mtr ردیابی مسیر + آمار لحظه‌ای (بهتر از tracepath) mtr ya3in.ir
nslookup پرس‌وجوی DNS (ساده) nslookup google.com
host پرس‌وجوی DNS (ساده‌تر) host google.com
dig پرس‌وجوی DNS (پیشرفته) dig google.com
netstat نمایش اتصالات و آمار (قدیمی) netstat -tulpn
ss نمایش اتصالات و آمار (مدرن) ss -tulpn
nc تست پورت و ارتباطات شبکه nc -zv google.com 80
iftop مانیتورینگ پهنای باند لحظه‌ای sudo iftop
✅ جمع‌بندی نهایی:
  • بررسی اتصال: ping
  • ردیابی مسیر: tracepath (ساده) و mtr (حرفه‌ای)
  • پرس‌وجوی DNS: nslookup، host، dig
  • نمایش اتصالات: ss (جایگزین netstat)
  • تست پورت: nc (Netcat)
  • مانیتورینگ پهنای باند: sudo iftop